<?php
namespace app\admin\validate;
use think\Validate;

/**
 * 创建管理员验证器
 */
class AuthMember extends Validate
{   
    protected $rule = [
        //'username'  =>  'require|lenMin:4|lenMax:16|unique:auth_member|alphaDash',
        //'nickname'    =>  'require|unique:auth_member',
        'nickname' => 'require|lenMin:2|lenMax:16',
        'password'  =>  'require|min:6|max:16',
        //'phone'       =>  'require',
        //'email'       =>  'require|email',
    ];

    protected $message = [
        'username.require'  =>  '登录名不能为空',
        'username.lenMin'      =>  '登录名长度不能小于4位',
        'username.lenMax'      =>  '登录名长度不能大于16位',
        'username.alphaDash'=>  '登录名必须为字母和数字，下划线(_)及破折号(-)',
        'username.unique'   =>  '登录名已经存在',
        'nickname.require'   => '昵称不能为空',
        'nickname.lenMin'    => '昵称最小可以输入2个字符',
        'nickname.lenMax'    => '昵称最小可以输入16个字符',
        'password.require'  =>  '密码不能为空',
        'password.min'      =>  '密码长度范围在6-16位',
        'password.max'      =>  '密码长度范围在6-16位',
        //'phone.require'       =>  '电话号码不能为空',
        //'email.require'       =>  '邮箱不能为空',
        //'email.email'     =>  '邮箱格式不正确',
    ];

    protected $scene = [
        'add'      => ['username','nickname','password'],
        'read.html'     => ['nickname'],
        'edit_pwd' => ['nickname', 'password'],
    ];

    /**
     * 长度自定义验证规则 最小
     * @DateTime 2020-02-27
     * @param    string     $value 验证数据
     * @param    string     $rule  验证规则
     * @param    array      $data  全部数据（数组）
     * @return   string
     */
    protected function lenMin( $value, $rule, $data ) {
        $len = mb_strlen( $value, 'utf-8' );
        return $len >= $rule ? true : false;
    }

    /**
     * 长度自定义验证规则 最大
     * @DateTime 2020-02-27
     * @param    string     $value 验证数据
     * @param    string     $rule  验证规则
     * @param    array      $data  全部数据（数组）
     * @return   string
     */
    protected function lenMax( $value, $rule, $data ) {
        $len = mb_strlen( $value, 'utf-8' );
        return $len <= $rule ? true : false;
    }
}
